package com.liuyfly.leetcode.interview;

import lombok.extern.slf4j.Slf4j;

import java.util.Arrays;

/**
 * @author liuyangfang at 2022-09-27 20:06
 */
@Slf4j
public class Question0001And0002 {
    /**
     * 给定两个字符串 s1 和 s2，请编写一个程序，确定其中一个字符串的字符重新排列后，能否变成另一个字符串。
     * 
     * <pre>
     示例 1：
     输入: s1 = "abc", s2 = "bca"
     输出: true
     * </pre>
     * 
     * <pre>
     示例 2：
     输入: s1 = "abc", s2 = "bad"
     输出: false
     * </pre>
     * 
     * 链接：https://leetcode.cn/problems/check-permutation-lcci
     */
    public static boolean checkPermutation(String s1, String s2) {
        if (s1 == null || s2 == null || s1.length() != s2.length()) {
            return false;
        }
        if (s1.equals(s2)) {
            return true;
        }
        char[] s1Array = s1.toCharArray();
        char[] s2Array = s2.toCharArray();
        Arrays.sort(s1Array);
        Arrays.sort(s2Array);
        return Arrays.equals(s1Array, s2Array);
    }

    public static void main(String[] args) {
        boolean result = checkPermutation("abc", "bca");
        log.info("result:{}", result);
    }
}
